package group

import (
	fm "gf-xb-api/cwt/filter/model"

	"github.com/gogf/gf/v2/database/gdb"
)

// IFilterGroupParser ... 分组过滤分析器接口
type IFilterGroupParser[T any] interface {

	// ParseWrapperRule ... 解析过滤规则
	ParseWrapperRule(rule *fm.FilterRule[T], queryWrapper *gdb.Model) (*gdb.WhereBuilder, error)

	// MergeQueryWrappers ... 合并条件
	MergeQueryWrappers(b1 *gdb.WhereBuilder, b2 *gdb.WhereBuilder) *gdb.WhereBuilder
}
